package com.zrrd.service.impl;

import com.zrrd.service.UserService;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * @author WanJl
 * @version 1.0
 * @title UserServiceImpl
 * @description
 * @create 2024/1/25 15:28
 */
public class UserServiceImpl implements UserService, InitializingBean, DisposableBean {
    @Value("${prop.name}")
    private String name;

    @Value("${prop.name02}")
    private static String name02;

    {
        System.out.println("我是UserService对象的初始化代码块"+name+"----"+name02);
    }

    static {
        System.out.println("我是UserService对象的静态代码块"+name02);
    }

    public UserServiceImpl() {
        System.out.println("我是UserService对象的构造方法"+name+"----"+name02);
    }

    /*public void init(){
            System.out.println("我是UserService对象Bean的初始化方法...负责创建Bean...");
        }

        public void destroy(){
            System.out.println("我是UserService对象Bean的销毁方法...负责销毁Bean....");
        }
    */
    @Override
    public void print() {
        System.out.println("我是UserService对象的业务方法...处理具体业务..."+name+"----"+name02);
    }

    /**
     * 实现了InitializingBean接口后，需要重写的方法，该方法为初始化UserService的Bean的时候，调用的方法
     * @throws Exception
     */
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("我是UserService对象Bean的初始化方法...负责创建Bean..."+name+"----"+name02);
    }

    /**
     * 实现了DisposableBean接口后，需要重写的方法，该方法为销毁UserService的Bean的时候，调用的方法
     * @throws Exception
     */
    @Override
    public void destroy() throws Exception {
        System.out.println("我是UserService对象Bean的销毁方法...负责销毁Bean...."+name+"----"+name02);
    }
}
